Form1 Pseudo-Screen Form1% SaveBtn LoadBtn ScreenBox CursorXBox QuitBtn TextBox CursorYBox ClearBtn Clear Screen MoveBtn Move Cursor LocateBtn Locate Cursor PrintBtn Print ScrollUpBtn ScrollUp NewLineBtn NewLine ScreenLbl The Screen ColumnLbl Column TextLbl RowLbl MAX_ROWS MAX_COLS ScrLine CursX CursY ScreenBuffers BufX1 BufY~ ClearScreen ScreenBox GotoXY WhereX WhereYE ScrollUp NumLines UpdateScreenText NewLine PPrint UpdateScreenNow0 LenStr LenLine LenDiff SaveScreen BufferY LoadScreen QuitBtn_Click ClearBtn_Clickw LocateBtn_Click MoveBtn_Click CursorXBox CursorYBox% PrintBtn_Click TextBox ScrollUpBtn_Click NewLineBtn_Click @ Form_Load SaveBtn_Click LoadBtn_Click ScreenBox_ChangeP constants the define the size of the emulated screen the array and variables that maintain the data fore the emulated screen declarations for the screen buffera ClearBtn_Click ClearScreen clear the screen by assigning empty strings to thee ScreenBox and ScrLine array and setting the cursore variables to 1. Form_Load GotoXY move the hidden cursor to (X,Y) Pad string with spacesi LoadBtn_Click LoadScreen load screen from the Buffer() array the X% and Y% parameters specify new cursor location LocateBtn_Click MoveBtn_Click NewLine move the hidden cursor to the first column of the next line. Scroll screen up if the cursor is already at the last allowed screen row NewLineBtn_Click PPrint Emulate a simple form of the QuickBasic print: PRINT Astring$; The second parameter enable you to update the texte on the screen, or keep the changes hidden (for now). string cannot fit on the current line?d split orignal string into two strings next-line texto Pad current line write S to current line update CursX the next-line string is not empty?n print to the next line pad the string for the next lineo write the next-line string update the screen now? PrintBtn_Click QuitBtn_Click SaveBtn_Click SaveScreen save screen to Buffer() array. the current position of the hidden cursor iso stored in parameters X% and Y%d ScrollUp scroll up a specified number of lines scroll at most MAX_ROWS rows copy leading string to emulate scroll assign empty string to trailing strings ScrollUpBtn_Click UpdateScreenText update the text in the ScreenBox WhereX return the value of CursX WhereY return the value of CursY